Machine Learning - L4 Notes

Contents

  1. 1. Where does the error come from (L4)
    1. 1.1. Error 的來源
      1. 1.1.1. Bias
      2. 1.1.2. Variance
      3. 1.1.3. 結論
    2. 1.2. Model
      1. 1.2.1. Variance 和 Model 的關係
      2. 1.2.2. Bias 和 Model 的關係
      3. 1.2.3. Overfitting and Underfitting
    3. 1.3. Large bias v.s. Large variance
    4. 1.4. Cross Validation
      1. 1.4.1. N-fold Cross Validation

Where does the error come from (L4)

Error 的來源主要來自 biasvariance
這部分跟機率有點關,可能要再回去複習機率了嗚嗚…

Error 的來源

Bias

對 sample 取平均數得到的 $m$ 不一定會是母體的平均數 $\mu$ ,但如果對 $m$ 取期望值,就會等於 $\mu$ 了,沒有偏差(unbiased)。
這代表著如果我們取很多次 $m_i$ ,它不一定會在 $\mu$ 那點。
整體是瞄向那裏的,只是因為某些原因產生了 誤差 ,導致那些點散落在周圍,而散落的程度就取決於 變異數(Variance)

4-4

4-5

Variance

4-6

如果 $N$ 取得比較多,那就會較集中 ; 取得少,則會較分散
我們可以利用 smaple variance ($s^2$) ,它同樣是散佈在 $\sigma^2$ 周圍,不同的是它的期望值是有偏差的 ($\frac{N-1}{N}$),並不會等於 $\sigma^2$ 。(原因要去複習機率了)
平均而言 $s^2$ 是比較小的,而 N 越大越能使它們間的差距越小。

結論

4-7

這張圖可以說明 biasvariance 的影響。
以右下為例,瞄準的地方不在靶心,有偏差( bias 影響)。而它也不會集中在瞄準的地方,而是散在此點四周( variance 影響)。

Model

Variance 和 Model 的關係

如果 model 越複雜,其受輸入的影響就越大,導致結果較為分散。
下圖是用100組不同資料訓練出來的結果。

4-11

在一次式中分散程度是較小的( variance 較小),五次式則是較為分散( variance 較大)。

Bias 和 Model 的關係

黑線為: 靶心,target function
紅線為: 做5000次實驗得出來的各個 function(也就是前面圖中那些散落的藍點)
藍線為: 5000次的平均

4-14

如果 model 較為 簡單 ,如圖中的一次式,那它會較為 集中 (variance),但離靶心 有段差距 (bias)。
如果 model 較為 複雜 ,如圖中的五次式,那它會較為 分散 ,但離靶心 較近

原因在於 model 就像一個 function set ,那可能簡單的 model 並沒有把靶心包含進去。

Overfitting and Underfitting

橫軸為幾次式,model 的複雜程度。
縱軸為錯誤程度。

紅線是來自 bias 的錯誤,越來越小,也就是離靶心越來越近。
綠線是來自 variance 的錯誤,越來越大,也就是離瞄準的點(平均的點)越來越分散。
藍線是考慮以上兩項的結果,可以找到一個平衡的地方使錯誤最少。

4-15

對於 model 越來越複雜,variance 變很大(綠線,增長的比較快),導致 Error 變很大 ,這樣子的情形我們就稱為 overfitting
而如果是因為 bias 很大而導致 Error 很大,這樣子我們就稱為 underfitting

Large bias v.s. Large variance

4-16

  • For bias :

    當在 training data 時就表現得不好,表示我們跟正確的 model 有偏差,所以有 large bias ,此時就是 Underfitting

    解決方法:
    很有可能是一開始的 model 也就是 function set 中根本 不包含 正確的 function,所以 重新設計 model 來解決。在這種狀況收集更多 Data 是不會有幫助的。

  • For variance :

    在 training data 上有著不錯的表現,但在 testing data 表現卻非常差,這代表著 model 有 large variance ,此時就是 Overfitting

    解決方法:

    1. 增加更多的 Data 來解決。( $N$ )
    2. Regularization,來找較平滑的曲線(可能傷害 bias )。

4-17

Cross Validation

先講一下這邊的 testing set 有兩種不同的意思,一種是最後拿來測試自己 model 的好壞,而一種是實際上要解決的(通常資料又更多)。

4-19

為了減緩在 實際上 和 測試用 的兩者結果相差很多,我們應該這樣做:

將原先的 training set 分成兩組,一組拿來 train ; 一組拿來 validation,也就是選 model 。
如果擔心這樣訓練的資料變少,可以選定 model 後再使用全部的資料訓練一次。

4-20

N-fold Cross Validation

至於如何分組,我們可以分很多種不同的樣子。
然後用不同的 model 來測試,看在不同種組別的平均錯誤下哪個 model 表現最好。
接著再用全部的 training set 來 train 那個 model 。

4-21